package com.app.newcsc.http;


import android.util.Log;

import com.app.newcsc.app.Constants;
import com.app.newcsc.http.request.BaseRequestModel;
import com.app.newcsc.utils.LogUtil;
import com.app.newcsc.utils.ShareUtil;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.TreeMap;

import io.reactivex.Single;
import io.reactivex.android.schedulers.AndroidSchedulers;
import io.reactivex.disposables.Disposable;
import io.reactivex.schedulers.Schedulers;
import okhttp3.MediaType;
import okhttp3.RequestBody;


/**
 * 接口数据管理类
 * Created by rzb on 2019/4/18.
 */
public class DataManager {

    private static final String TAG = DataManager.class.getSimpleName();
    public RetrofitHelper retrofitHelper = RetrofitHelper.getInstance();
    private RetrofitService retrofitService = retrofitHelper.getServer();
    private static final DataManager INSTANCE = new DataManager();

    //获取单例
    public static DataManager getInstance() {
        return INSTANCE;
    }

    private <T> Disposable subscribe(Single<T> observable, DefaultSingleObserver<T> observer) {
        LogUtil.i("-- RXLOG-Thread: subscribe()", Long.toString(Thread.currentThread().getId()));
        observable.subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread())
                .subscribe(observer);
        return observer;
    }

    /**
     * 将请求实体类转json格式
     *
     * @param baseHttpRequestModel 传入实体类对象
     * @return 返回请求体
     */
    private RequestBody getRequestBody(BaseRequestModel baseHttpRequestModel) {
        LogUtil.i(TAG, retrofitHelper.gson.toJson(baseHttpRequestModel));
        return RequestBody.create(MediaType.parse("application/json; charset=utf-8"), retrofitHelper.gson.toJson(baseHttpRequestModel));
    }

    private String getToken() {
//        return "Bearer " + SpUtils.get("bbsc_token");
        String token =  "Bearer " + ShareUtil.getInstance().get(Constants.USER_TOKEN);
        Log.e("TAG","==========getToken=====token====="+token);
        return token;
//        if (UserInfo.get().getIndexUserInfoEntity() != null) {
//            return "Bearer " + UserInfo.get().getIndexUserInfoEntity().getAccess_token();
//        }
//        else
//        {
////            String token = SpUtils.getToken();
////            if(TextUtil.isEmpty(token))
////            {
////                token = SpUtils.get("token_type") + " " + SpUtils.get("access_token");;
////            }
////            return token;
//
//            return SpUtils.get("token_type") + " " + SpUtils.get("access_token");
//        }
////        return "";
    }



    /**
     * 获取带加密的字符串
     *
     * @param map
     * @return
     */
    private String getStrFromMap(TreeMap<String, Object> map) {
        String str;
        StringBuffer sb = new StringBuffer();
        for (String key : map.keySet()) {
            Object value = map.get(key);
            String v = "";
            try {
                v = URLEncoder.encode(value.toString(), "UTF-8");
            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            }
            sb.append(key).append("=").append(v).append("&");
        }
        str = sb.toString();
        str = str.substring(0, str.length() - 1);
        return str;
    }

//
//    /**
//     * 登录
//     *
//     * @param observer
//     * @param baseRequestModel
//     */
//    public void login(DefaultSingleObserver<LoginDto> observer, BaseRequestModel baseRequestModel) {
//        Single<LoginDto> observable = retrofitService.login(getRequestBody(baseRequestModel))
//                .map(new HttpResultMapper.HttpResultData<>(baseRequestModel));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 短信登录
//     *
//     * @param observer
//     * @param baseRequestModel
//     */
//    public void smsLogin(DefaultSingleObserver<LoginDto> observer, BaseRequestModel baseRequestModel) {
//        Single<LoginDto> observable = retrofitService.smsLogin(getRequestBody(baseRequestModel))
//                .map(new HttpResultMapper.HttpResultData<>(baseRequestModel));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取腾讯云token
//     *
//     * @param observer
//     * @param
//     */
//    public void cosvToken(DefaultSingleObserver<Object> observer) {
//        Single<Object> observable = retrofitService.cosvToken(getToken()).map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 商品详情(共用(登录带Token))
//     */
//    public void getJionInfos(DefaultSingleObserver<HttpResult<List<JoinDto>>> observer, String id, HashMap<String, String> map) {
//        Single<HttpResult<List<JoinDto>>> observable = retrofitService.getJionInfos(id, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 用户注册接口
//     *
//     * @param observer
//     * @param baseRequestModel
//     */
//    public void register(DefaultSingleObserver<RegisterDto> observer, BaseRequestModel baseRequestModel) {
//        Single<RegisterDto> observable = retrofitService.register(getRequestBody(baseRequestModel))
//                .map(new HttpResultMapper.HttpResultData<>(baseRequestModel));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取验图形证码
//     *
//     * @param observer
//     */
//    public void getImageCode(DefaultSingleObserver<CaptchaImgDto> observer) {
//        Single<CaptchaImgDto> observable = retrofitService.getImgCode()
//                .map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取手机验证码
//     *
//     * @param observer
//     * @param baseRequestModel
//     */
//    public void getSmsCodes(DefaultSingleObserver<String> observer, BaseRequestModel baseRequestModel) {
//        Single<String> observable = retrofitService.getSmsCodes(getToken(), getRequestBody(baseRequestModel))
//                .map(new HttpResultMapper.HttpResultData<>(baseRequestModel));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取手机验证码
//     *
//     * @param observer
//     * @param baseRequestModel
//     */
//    public void getSmsCode(DefaultSingleObserver<String> observer, BaseRequestModel baseRequestModel) {
//        Single<String> observable = retrofitService.getSmsCode(getRequestBody(baseRequestModel))
//                .map(new HttpResultMapper.HttpResultData<>(baseRequestModel));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 重设密码
//     *
//     * @param observer 由调用者传过来的观察者对象
//     */
//    public void resetPwd(DefaultSingleObserver<String> observer, HashMap<String, String> map) {
//        Single<String> observable = retrofitService.resetPwd(getToken(), map)
//                .map(new HttpResultMapper.HttpResultString(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 更新用户信息
//     *
//     * @param observer
//     */
//    public void modifUserInfo(DefaultSingleObserver<PersonalInfoDto> observer, HashMap<String, String> map) {
//        Single<PersonalInfoDto> observable = retrofitService.modifUserInfo(getToken(), map)
//                .map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void setPayPassword(DefaultSingleObserver<Object> observer, Map<String, Object> map) {
//        Single<Object> observable = retrofitService.setPayPassword(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取用户信息
//     *
//     * @param observer
//     */
//    public void getUserInfo(DefaultSingleObserver<PersonalInfoDto> observer) {
//        String token = getToken();
//        Log.e("TAG","===============getUserInfo====token======" + token);
//        Single<PersonalInfoDto> observable = retrofitService.getUserInfo(getToken(), "seller,real_name,wallet", "wx_app")
//                .map(new HttpResultMapper.HttpResultData<>(null));
////        Single<PersonalInfoDto> observable = retrofitService.getUserInfo()
////                .map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 获取用户信息
//     *
//     * @param observer
//     */
//    public void getChildrenList(DefaultSingleObserver<HttpResult<List<MyChildEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<MyChildEntity>>> observable = retrofitService.getChildrenList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 获取评价列表
//     */
//    public void getCommentsList(DefaultSingleObserver<HttpResult<List<CommentDto>>> observer, String commented_type, String commented_id) {
//        Single<HttpResult<List<CommentDto>>> observable = retrofitService.getCommentsList(getToken(), commented_type, commented_id, "user")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void findGussGoodLists(DefaultSingleObserver<HttpResult<List<NewListItemDto>>> observer, String mall_type, Map<String, String> map) {
//        Single<HttpResult<List<NewListItemDto>>> observable = retrofitService.findGussGoodLists(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 删除购物车商品
//     */
//    public void delShoppingCart(DefaultSingleObserver<HttpResult<Object>> observer, String mall_type, HashMap<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.delShoppingCart(getToken(), mall_type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 获取用户信息
//     *
//     * @param observer
//     */
//    public void getArticleList(DefaultSingleObserver<HttpResult<List<ArticleEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<ArticleEntity>>> observable = retrofitService.getArticleList(getToken(), "help", map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void getUserlog(DefaultSingleObserver<HttpResult<List<IncomeDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<IncomeDto>>> observable = retrofitService.getUserlog(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getSellerslog(DefaultSingleObserver<HttpResult<List<IncomeDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<IncomeDto>>> observable = retrofitService.getSellerslog(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getStorelog(DefaultSingleObserver<HttpResult<IncomeDto>> observer) {
//        Single<HttpResult<IncomeDto>> observable = retrofitService.getStorelog(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getGiftLog(DefaultSingleObserver<HttpResult<List<IncomeDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<IncomeDto>>> observable = retrofitService.getGiftLog(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getTipsLog(DefaultSingleObserver<HttpResult<List<IncomeDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<IncomeDto>>> observable = retrofitService.getTipsLog(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getWithdraw(DefaultSingleObserver<HttpResult<List<IncomeDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<IncomeDto>>> observable = retrofitService.getWithdraw(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 用户地址列表
//     *
//     * @param observer
//     */
//    public void getAddressesList(DefaultSingleObserver<List<AddressDto>> observer) {
//        Single<List<AddressDto>> observable = retrofitService.getAddresses(getToken())
//                .map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 添加用户地址
//     *
//     * @param observer
//     */
//    public void mentorSetUser(DefaultSingleObserver<AddressDto> observer, Map<String, String> map) {
//        Single<AddressDto> observable = retrofitService.mentorSetUser(getToken(), map)
//                .map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 添加用户地址
//     *
//     * @param observer
//     */
//    public void addAddressesList(DefaultSingleObserver<AddressDto> observer, BaseRequestModel baseRequestModel) {
//        Single<AddressDto> observable = retrofitService.addAddresses(getToken(), getRequestBody(baseRequestModel))
//                .map(new HttpResultMapper.HttpResultData<>(baseRequestModel));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 更新用户地址
//     *
//     * @param observer
//     */
//    public void updateAddresses(DefaultSingleObserver<AddressDto> observer, BaseRequestModel baseRequestModel, String address_id) {
//        AddressModel model = (AddressModel) baseRequestModel;
//        Single<AddressDto> observable = retrofitService.updateAddresses(getToken(), address_id
//                , model.getName(), model.getMobile()
//                , model.getArea_id(), model.getDetail(),
//                model.getIs_default() + "")
//                .map(new HttpResultMapper.HttpResultData<>(baseRequestModel));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 删除用户地址
//     *
//     * @param observer
//     */
//    public void delAddresses(DefaultSingleObserver<Object> observer, String address_id) {
//        Single<Object> observable = retrofitService.delAddresses(getToken(), address_id)
//                .map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 上传文件
//     *
//     * @param observer
//     * @param fileType
//     * @param file
//     */
//    public void uploadFiles(DefaultSingleObserver<UploadFilesDto> observer, String fileType, MultipartBody.Part file) {
//        Single<UploadFilesDto> observable = retrofitService.uploadFiles(getToken(), fileType, file)
//                .map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 我的订单列表
//     *
//     * @param observer 由调用者传过来的观察者对象
//     */
//    public void getMyOrderList(DefaultSingleObserver<HttpResult<List<MyOrderDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<MyOrderDto>>> observable = retrofitService.getMyOrderList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 我的收藏列表
//     *
//     * @param observer
//     */
//    public void getCollectionList(DefaultSingleObserver<HttpResult<List<TopicListItemDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<TopicListItemDto>>> observable = retrofitService.getCollectionList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 删除收藏
//     *
//     * @param observer
//     */
//    public void delCollection(DefaultSingleObserver<Object> observer, HashMap<String, String> map) {
//        Single<Object> observable = retrofitService.delCollection(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 我的关注列表
//     *
//     * @param observer
//     */
//    public void getAttentionList(DefaultSingleObserver<HttpResult<List<AttentionCommunityBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<AttentionCommunityBean>>> observable = retrofitService.getAttentionList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 我发布的 列表
//     *
//     * @param observer
//     */
//    public void getDynamicList(DefaultSingleObserver<HttpResult<List<DynamicBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<DynamicBean>>> observable = retrofitService.getDynamicList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 动态的评论 列表
//     *
//     * @param observer
//     */
//    public void getDynamicCommentList(DefaultSingleObserver<HttpResult<List<CommentListBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<CommentListBean>>> observable = retrofitService.getDynamicCommentList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取我的评论 列表
//     *
//     * @param observer
//     */
//    public void getMyCommentListData(DefaultSingleObserver<HttpResult<List<CommentTopicBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<CommentTopicBean>>> observable = retrofitService.getMyCommentListData(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 动态详情
//     *
//     * @param observer
//     */
//    public void getDynamicDetail(DefaultSingleObserver<HttpResult<DynamicBean>> observer, int id) {
//        Single<HttpResult<DynamicBean>> observable = retrofitService.getDynamicDetail(getToken(), id)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取余额
//     *
//     * @param observer
//     */
//    public void getBalance(DefaultSingleObserver<BalanceDto> observer) {
//        Single<BalanceDto> observable = retrofitService.getBalance(getToken())
//                .map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void getTopic(DefaultSingleObserver<HttpResult<List<TopicEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<TopicEntity>>> observable = retrofitService.getTopic(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void getNearbyVideo(DefaultSingleObserver<HttpResult<List<CommVideoEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<CommVideoEntity>>> observable = retrofitService.getNearbyVideo(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void getCirclesVideo(DefaultSingleObserver<HttpResult<List<CommVideoEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<CommVideoEntity>>> observable = retrofitService.getCirclesVideo(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void getVideoList(DefaultSingleObserver<HttpResult<List<CommVideoEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<CommVideoEntity>>> observable = retrofitService.getVideoList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getUserIndex(DefaultSingleObserver<HttpResult<List<SearchStarEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<SearchStarEntity>>> observable = retrofitService.getUserIndex(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void getUserVideoList(DefaultSingleObserver<HttpResult<List<CommVideoEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<CommVideoEntity>>> observable = retrofitService.getUserVideoList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void getLikeVideoList(DefaultSingleObserver<HttpResult<List<CommVideoEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<CommVideoEntity>>> observable = retrofitService.getLikeVideoList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void getVideoForward(DefaultSingleObserver<HttpResult<List<DynamicEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<DynamicEntity>>> observable = retrofitService.getVideoForward(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void videoForward(DefaultSingleObserver<HttpResult> observer, Map<String, String> map) {
//        Single<HttpResult> observable = retrofitService.videoForward(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void getFriendList(DefaultSingleObserver<HttpResult<List<FriendEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<FriendEntity>>> observable = retrofitService.getFriendList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void remarkName(DefaultSingleObserver<HttpResult> observer, Map<String, String> map, String id) {
//        Single<HttpResult> observable = retrofitService.remarkName(getToken(), id, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void getRecommendList(DefaultSingleObserver<HttpResult<List<RecommendFriendEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<RecommendFriendEntity>>> observable = retrofitService.getRecommendList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param
//     */
//    public void liverProduct(DefaultSingleObserver<HttpResult<List<CommodityEntity>>> observer) {
//        Single<HttpResult<List<CommodityEntity>>> observable = retrofitService.liverProduct(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
////
////    type *
////    integer
////    类型，1为图片，2为视频
////
////            title
////    string
////            标题
////
////    content *
////    string
////    内容: @用户名空格 如(@test ) , #话题空格 如(#topic )
////
////    img
////            array
////    图片，上传图片返回的图片路径 是一个数组
////
////    video *
////    string
////    视频，视频URL
////
////            cover
////    string
////            封面
////
////    address
////            string
////    位置
////
////            lat
////    number
////            经度
////
////    lng
////            number
////    纬度
////
////            music_id
////    number
////            音乐id
////
////    view_permission *
////    number
////    查看权限: 0 隐私自己可见,1 公开,2 只朋友自己可见
////
////            product_id
////    商品id, 数组; 如 product_id[]:1,product_id[]:2
//
//
//    /**
//     * 话题列表
//     *
//     * @param observer
//     * @param
//     */
//    public void pushVideo(DefaultSingleObserver<HttpResult> observer, PushVideoEntity pushVideoEntity) {
//        Single<HttpResult> observable = retrofitService.pushVideo(getToken(), pushVideoEntity).map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 活动详情
//     *
//     * @param observer
//     * @param id
//     */
//    public void getActionDetailData(DefaultSingleObserver<HttpResult<ActionBean>> observer, int id) {
//        Single<HttpResult<ActionBean>> observable = retrofitService.getActionDetailData(getToken(), id, "extra")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 活动详情
//     *
//     * @param observer
//     * @param
//     */
//    public void searchProducts(DefaultSingleObserver<HttpResult<List<SearchCommodityEntity>>> observer, String mallType, Map<String, String> map) {
//        Single<HttpResult<List<SearchCommodityEntity>>> observable = retrofitService.searchProducts(getToken(), mallType, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 在线报名（活动）
//     */
//    public void onlineApply(DefaultSingleObserver<HttpResult<Object>> observer, BaseRequestModel baseRequestModel) {
//        Single<HttpResult<Object>> observable = retrofitService.onlineApply(getToken(), getRequestBody(baseRequestModel))
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void findOtherCategory(DefaultSingleObserver<HttpResult<List<BaseDto2>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<BaseDto2>>> observable = retrofitService.findOtherCategory(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    public void getCouPonList(DefaultSingleObserver<HttpResult<List<NewPeopleBeam>>> observer, String type) {
//        Single<HttpResult<List<NewPeopleBeam>>> observable = retrofitService.getCouPon(getToken(), type)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getCouPonLists(DefaultSingleObserver<HttpResult<List<NewPeopleBeam>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<NewPeopleBeam>>> observable = retrofitService.getCouPons(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void hotdog(DefaultSingleObserver<HttpResult<List<HotDogEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<HotDogEntity>>> observable = retrofitService.hotdog(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void products(DefaultSingleObserver<HttpResult<List<PointEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<PointEntity>>> observable = retrofitService.products(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void BonusPoint(DefaultSingleObserver<HttpResult<List<PointEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<PointEntity>>> observable = retrofitService.BonusPoint(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void hotdogDateil(DefaultSingleObserver<HttpResult<HotCommondEntity>> observer, String id, Map<String, String> map) {
//        Single<HttpResult<HotCommondEntity>> observable = retrofitService.hotdogDateil(getToken(), id, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void putCouPon(DefaultSingleObserver<HttpResult<Object>> observer, String id) {
//        Single<HttpResult<Object>> observable = retrofitService.putCouPon(getToken(), id)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getTotalInofs(DefaultSingleObserver<BaseDto4> observer, String type, String type_money) {
//        Single<BaseDto4> observable = retrofitService.getTotalInofs(getToken(), type, type_money)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 广告(公用)
//     */
//    public void getBannerList(DefaultSingleObserver<HttpResult<BannerInfoDto>> observer, String pCode) {
//        Single<HttpResult<BannerInfoDto>> observable = retrofitService.getBannerList(pCode)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getVipWelfare(DefaultSingleObserver<HttpResult<BannerInfoDto>> observer) {
//        Single<HttpResult<BannerInfoDto>> observable = retrofitService.getVipWelfare()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getMembership(DefaultSingleObserver<HttpResult<BannerInfoDto>> observer) {
//        Single<HttpResult<BannerInfoDto>> observable = retrofitService.getMembership(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getConturyData(DefaultSingleObserver<HttpResult<List<AllCityDto>>> observer) {
//        Single<HttpResult<List<AllCityDto>>> observable = retrofitService.getConturyData()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 商品详情(共用)
//     */
//    public void getGoodsDetail(DefaultSingleObserver<HttpResult<CommodityDetailInfoDto>> observer, String mall_type, String id, HashMap<String, String> map) {
//        Single<HttpResult<CommodityDetailInfoDto>> observable = retrofitService.getGoodsDetail(mall_type, id, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 商品详情(共用(登录带Token))
//     */
//    public void getGoodsDetailToken(DefaultSingleObserver<HttpResult<CommodityDetailInfoDto>> observer, String mall_type, String id, HashMap<String, String> map) {
//        Single<HttpResult<CommodityDetailInfoDto>> observable = retrofitService.getGoodsDetailToken(getToken(), mall_type, id, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 购物车列表
//     */
//    public void findShoppingCartList(DefaultSingleObserver<HttpResult<ShopCartInfoDto>> observer, String mall_type) {
//        Log.e("TAG","==========findShoppingCartList=购物车列表===mall_type===="+mall_type);
//        Single<HttpResult<ShopCartInfoDto>> observable = retrofitService.findShoppingCartList(getToken(), mall_type, "shop_name")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 添加商品到购物车
//     */
//    public void addShoppingCart(DefaultSingleObserver<HttpResult<Object>> observer, String mall_type, HashMap<String, Object> map) {
//        Single<HttpResult<Object>> observable = retrofitService.addShoppingCart(getToken(), mall_type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 爱心家庭最新上架
//     */
//    public void findGoodsList(Map<String, String> map, DefaultSingleObserver<HttpResult<List<NewListItemDto>>> observer) {
//        Single<HttpResult<List<NewListItemDto>>> observable = retrofitService.findGoodsList(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void taoBaoGoodsList(Map<String, String> map, DefaultSingleObserver<HttpResult<NewListItemDto>> observer) {
//        Single<HttpResult<NewListItemDto>> observable = retrofitService.taoBaoGoodsList(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void sunNingGoodsList(Map<String, String> map, DefaultSingleObserver<HttpResult<NewListItemDto>> observer) {
//        Single<HttpResult<NewListItemDto>> observable = retrofitService.sunNingGoodsList(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void SearchtaoBaoGoodsList(Map<String, String> map, DefaultSingleObserver<HttpResult<NewListItemDto>> observer) {
//        Single<HttpResult<NewListItemDto>> observable = retrofitService.SearchtaoBaoGoodsList(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 地区列表
//     *
//     * @param observer
//     */
//    public void getAreaList(DefaultSingleObserver<List<AreaDto>> observer, Map<String, String> map) {
//        Single<List<AreaDto>> observable = retrofitService.getArea(map)
//                .map(new HttpResultMapper.HttpResultData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void SunNingIndexGoodsList(Map<String, String> map, DefaultSingleObserver<HttpResult<NewListItemDto>> observer) {
//        Single<HttpResult<NewListItemDto>> observable = retrofitService.SunNingIndexGoodsList(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void SearchSunNingGoodsList(Map<String, String> map, DefaultSingleObserver<HttpResult<NewListItemDto>> observer) {
//        Single<HttpResult<NewListItemDto>> observable = retrofitService.SearchSunNingGoodsList(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void SearchPingDuoGoodsList(Map<String, String> map, DefaultSingleObserver<HttpResult<NewListItemDto>> observer) {
//        Single<HttpResult<NewListItemDto>> observable = retrofitService.SearchPingDuoGoodsList(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getLink(Map<String, String> map, DefaultSingleObserver<HttpResult<NewListItemDto>> observer) {
//        Single<HttpResult<NewListItemDto>> observable = retrofitService.getLink(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getSunNingLink(Map<String, String> map, DefaultSingleObserver<HttpResult<NewListItemDto>> observer) {
//        Single<HttpResult<NewListItemDto>> observable = retrofitService.getSunNingLink(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void findGoodGrabList(Map<String, String> map, DefaultSingleObserver<HttpResult<List<NewListItemDto>>> observer) {
//        Single<HttpResult<List<NewListItemDto>>> observable = retrofitService.findGoodGrabList(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void findSellersGoodsLists(Map<String, String> map, DefaultSingleObserver<HttpResult<List<NewListItemDto>>> observer) {
//        Single<HttpResult<List<NewListItemDto>>> observable = retrofitService.findSellersGoodsLists(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void findGoodsLives(Map<String, String> map, DefaultSingleObserver<HttpResult<List<NewListItemDto>>> observer) {
//        Single<HttpResult<List<NewListItemDto>>> observable = retrofitService.findGoodsLives(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 获取所有地区值列表
//     */
//    public void getAllCityList(DefaultSingleObserver<HttpResult<List<AllCityDto>>> observer) {
//        Single<HttpResult<List<AllCityDto>>> observable = retrofitService.getAllCityList()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取热门城市
//     */
//    public void getHotCityList(DefaultSingleObserver<HttpResult<List<HotCityDto>>> observer) {
//        Single<HttpResult<List<HotCityDto>>> observable = retrofitService.getHotCityList()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 消息通知列表
//     */
//    public void getNoticeList(DefaultSingleObserver<HttpResult<List<NoticeDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<NoticeDto>>> observable = retrofitService.getNoticeList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 消息通知列表
//     */
//    public void announcement(DefaultSingleObserver<HttpResult<List<NoticeDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<NoticeDto>>> observable = retrofitService.announcement(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void privacy_policy(DefaultSingleObserver<HttpResult<DetailDto>> observer) {
//        Single<HttpResult<DetailDto>> observable = retrofitService.privacy_policy()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void tos(DefaultSingleObserver<HttpResult<DetailDto>> observer) {
//        Single<HttpResult<DetailDto>> observable = retrofitService.tos()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void reg_agreement(DefaultSingleObserver<HttpResult<DetailDto>> observer) {
//        Single<HttpResult<DetailDto>> observable = retrofitService.reg_agreement()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void task_rules(DefaultSingleObserver<HttpResult<DetailDto>> observer) {
//        Single<HttpResult<DetailDto>> observable = retrofitService.task_rules()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void shop_service(DefaultSingleObserver<HttpResult<DetailDto>> observer) {
//        Single<HttpResult<DetailDto>> observable = retrofitService.shop_service()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 店铺信息
//     */
//    public void getShopInfos(DefaultSingleObserver<HttpResult<ShopNoLoginBean>> observer, String id) {
//        Single<HttpResult<ShopNoLoginBean>> observable = retrofitService.getShopInfos(id)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 店铺信息
//     */
//    public void following_shops_detai(DefaultSingleObserver<HttpResult<ShopInfoBean>> observer, String user_id) {
//        Single<HttpResult<ShopInfoBean>> observable = retrofitService.following_shops_detai(getToken(), user_id)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 用户详情收益
//     */
//    public void detailIncome(DefaultSingleObserver<HttpResult<ShouruEntity>> observer, String user_id, String type) {
//        Single<HttpResult<ShouruEntity>> observable = retrofitService.detailIncome(getToken(), user_id, type)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     *
//     */
//    public void userInfo(DefaultSingleObserver<HttpResult<UserInfoEntity>> observer) {
//        Single<HttpResult<UserInfoEntity>> observable = retrofitService.userInfo(getToken(), "userArea,userData,videos,userOther")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 我的详情收益
//     */
//    public void mentorData(DefaultSingleObserver<HttpResult<MemberDetailEntity>> observer) {
//        Single<HttpResult<MemberDetailEntity>> observable = retrofitService.mentorData(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 搜索用户
//     */
//    public void userSearch(DefaultSingleObserver<HttpResult<MyChildEntity>> observer, String phone, HashMap<String, String> map) {
//        Single<HttpResult<MyChildEntity>> observable = retrofitService.userSearch(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    public void getShopCurrent(DefaultSingleObserver<HttpResult<ShopInfoDto>> observer, String user_id) {
//        Single<HttpResult<ShopInfoDto>> observable = retrofitService.getShopCurrent(getToken(), user_id, "lottery_url")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取新闻详情
//     */
//    public void getNewsDetail(DefaultSingleObserver<HttpResult<NewsDetailDto>> observer, String type, String id) {
//        Single<HttpResult<NewsDetailDto>> observable = retrofitService.getNewsDetail(type, id, "extra")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getHelpData(DefaultSingleObserver<HttpResult<List<DetailDto>>> observer, String type) {
//        Single<HttpResult<List<DetailDto>>> observable = retrofitService.getHelpData(type)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//
//    }
//
//    public void SearchHelpData(DefaultSingleObserver<HttpResult<List<DetailDto>>> observer, String include) {
//        Single<HttpResult<List<DetailDto>>> observable = retrofitService.SearchHelpData("help", include)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//
//    }
//
//    public void getHelpData(DefaultSingleObserver<HttpResult<List<DetailDto>>> observer, String type, Map<String, String> map) {
//        Single<HttpResult<List<DetailDto>>> observable = retrofitService.getHelpData(type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getHelpDetail(DefaultSingleObserver<HttpResult<DetailDto>> observer, String type, String id) {
//        Single<HttpResult<DetailDto>> observable = retrofitService.getHelpDetail(type, id)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getShopService(DefaultSingleObserver<HttpResult<DetailDto>> observer) {
//        Single<HttpResult<DetailDto>> observable = retrofitService.getShopService()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 获取评价列表
//     */
//    public void getFollowerList(DefaultSingleObserver<HttpResult<List<UserInfoEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<UserInfoEntity>>> observable = retrofitService.getFollowerList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取评价列表
//     */
//    public void getSearchVideoList(DefaultSingleObserver<HttpResult<List<CommVideoEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<CommVideoEntity>>> observable = retrofitService.getSearchVideoList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取评价列表
//     */
//    public void getLikeMeList(DefaultSingleObserver<HttpResult<List<LikeEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<LikeEntity>>> observable = retrofitService.getLikeMeList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取评价列表
//     */
//    public void getAtMeList(DefaultSingleObserver<HttpResult<List<UserRemindEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<UserRemindEntity>>> observable = retrofitService.getAtMeList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取评价列表
//     */
//    public void getCommentList(DefaultSingleObserver<HttpResult<List<UserCommentEntity>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<UserCommentEntity>>> observable = retrofitService.getCommentList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    /**
//     * 获取品牌店铺详情
//     */
//    public void getBrandShopDetail(DefaultSingleObserver<HttpResult<RecommendListDto>> observer, String id) {
//        Single<HttpResult<RecommendListDto>> observable = retrofitService.getBrandShopDetail(getToken(), id)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取品牌店铺详情
//     */
//    public void getUserInfo(DefaultSingleObserver<HttpResult<FriendInfoEntity>> observer, String phone, Map<String, String> map) {
//        Single<HttpResult<FriendInfoEntity>> observable = retrofitService.getUserInfo(getToken(), phone, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    /**
//     * 自动定位
//     */
//    public void getLocation(DefaultSingleObserver<HttpResult<AreaDto>> observer) {
//        HashMap<String, String> map = new HashMap<>();
//
//        Single<HttpResult<AreaDto>> observable = retrofitService.getLocation(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * wohahaha
//     */
//    public void getConfigs(DefaultSingleObserver<HttpResult<ConfigDto>> observer) {
//        Single<HttpResult<ConfigDto>> observable = retrofitService.getConfigs()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * wohahaha
//     */
//    public void getConfigsSH(DefaultSingleObserver<HttpResult<ConfigDtoSH>> observer) {
//        Single<HttpResult<ConfigDtoSH>> observable = retrofitService.getConfigsSH()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getSellersData(DefaultSingleObserver<HttpResult<ConfigDto>> observer) {
//        Single<HttpResult<ConfigDto>> observable = retrofitService.getSellersData(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getNotification(DefaultSingleObserver<ConfigDto> observer) {
//        Single<ConfigDto> observable = retrofitService.getNotification(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 店铺详情--最下面列表
//     */
//    public void getStProductList(DefaultSingleObserver<HttpResult<List<NewListItemDto>>> observer, String mall_type, HashMap<String, String> map) {
//        Single<HttpResult<List<NewListItemDto>>> observable = retrofitService.getStProductList("default", map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    /**
//     * 修改购物车商品个数
//     */
//    public void modifyShoppingCart(DefaultSingleObserver<HttpResult<ShopCartListItemDto>> observer, String mall_type, String rowId, String qty) {
//        Single<HttpResult<ShopCartListItemDto>> observable = retrofitService.modifyShoppingCart(getToken(), "default", rowId, qty)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    /**
//     * 查询主播信息
//     */
//    /**
//     * 查询主播信息
//     */
//    public void getLiveInfo(DefaultSingleObserver<AnchorInfo> observer, String user_id) {
//        Single<AnchorInfo> observable = retrofitService.getAnchorInfo(getToken(), user_id, "user")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 申请主播
//     */
//    public void applyLive(DefaultSingleObserver<HttpResult<AnchorInfo>> observer) {
//        Single<HttpResult<AnchorInfo>> observable = retrofitService.applyAnchor(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 申请主播
//     */
//    public void applyrealName(DefaultSingleObserver<HttpResult<Object>> observer, HashMap<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.applyrealName(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 申请主播
//     */
//    public void afterLogin(DefaultSingleObserver<HttpResult<Object>> observer, HashMap<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.afterLogin(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void putLookLive(DefaultSingleObserver<HttpResult<Object>> observer, String type) {
//        Single<HttpResult<Object>> observable = retrofitService.putLookLive(getToken(), type)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void putReward(DefaultSingleObserver<HttpResult<Object>> observer, String type) {
//        Single<HttpResult<Object>> observable = retrofitService.putReward(getToken(), type)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取直播分类
//     */
//    public void getLiveCate(DefaultSingleObserver<HttpResult<List<AllCityDto>>> observer, int is_recommended) {
//        Single<HttpResult<List<AllCityDto>>> observable = retrofitService.liveCate(is_recommended)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 课件广告轮播图
//     */
//    public void getSlidersList(DefaultSingleObserver<HttpResult<BannerInfoDto>> observer, String code) {
//        Single<HttpResult<BannerInfoDto>> observable = retrofitService.getSlidersList(code)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 课件分类
//     */
//    public void getTags(DefaultSingleObserver<Param> observer) {
//        Single<Param> observable = retrofitService.getTags()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void getInducts(DefaultSingleObserver<Param> observer) {
//        Single<Param> observable = retrofitService.getInduct()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 课件分类
//     */
//    public void banCategorie(DefaultSingleObserver<HttpResult<List<BannerDto>>> observer) {
//        Single<HttpResult<List<BannerDto>>> observable = retrofitService.banCategorie()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void taoBaoCategorie(DefaultSingleObserver<HttpResult<List<BannerDto>>> observer) {
//        Single<HttpResult<List<BannerDto>>> observable = retrofitService.taoBaoCategorie()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void sunningCategorie(DefaultSingleObserver<HttpResult<List<BannerDto>>> observer) {
//        Single<HttpResult<List<BannerDto>>> observable = retrofitService.sunningCategorie()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void pingduoCategorie(DefaultSingleObserver<HttpResult<List<BannerDto>>> observer) {
//        Single<HttpResult<List<BannerDto>>> observable = retrofitService.pingduoCategorie()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    public void AllCategorie(DefaultSingleObserver<HttpResult<List<BannerDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<BannerDto>>> observable = retrofitService.AllCategorie(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 首页进入直播频道列表
//     */
//    public void liveVideos(DefaultSingleObserver<HttpResult<List<VideoLiveBean>>> observer, HashMap<String, String> map) {
//        Single<HttpResult<List<VideoLiveBean>>> observable = retrofitService.liveVideos(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void delVideos(DefaultSingleObserver<HttpResult<Object>> observer, HashMap<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.delVideos(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    /**
//     * 我的足迹
//     */
//    public void userFootprints(DefaultSingleObserver<HttpResult<List<FootInfoDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<FootInfoDto>>> observable = retrofitService.userFootprints(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//    /**
//     * 我的足迹
//     */
//    public void getStatisticsOrder(DefaultSingleObserver<HttpResult<StatsticsOrderEntity>> observer) {
//        Single<HttpResult<StatsticsOrderEntity>> observable = retrofitService.getStatisticsOrder(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void orderCheckout(DefaultSingleObserver<HttpResult<List<OrderCheckoutBean>>> observer, HashMap<String, String> map) {
//        Single<HttpResult<List<OrderCheckoutBean>>> observable = retrofitService.orderCheckout(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 直播详情
//     *
//     * @param observer
//     * @param id
//     */
//    public void liveVideosInfo(DefaultSingleObserver<HttpResult<VideoLiveBean>> observer, String id) {
//        Single<HttpResult<VideoLiveBean>> observable = retrofitService.liveVideosInfo(getToken(), id, "room,user,videoproducts")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void liveApply(DefaultSingleObserver<HttpResult<VideoLiveBean>> observer, String id) {
//        Single<HttpResult<VideoLiveBean>> observable = retrofitService.liveApply(id)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//
//    public void putCheckIn(DefaultSingleObserver<HttpResult<ScoreBean>> observer) {
//        Single<HttpResult<ScoreBean>> observable = retrofitService.putCheckIn(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void getCheckIn(DefaultSingleObserver<HttpResult<ScoreBean>> observer) {
//        Single<HttpResult<ScoreBean>> observable = retrofitService.getCheckIn(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 聊天室成员列表
//     *
//     * @param observer
//     */
//    public void liveChatter(DefaultSingleObserver<HttpResult<List<RoomUserBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<RoomUserBean>>> observable = retrofitService.liveChatter(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 主播积分接口
//     *
//     * @param observer
//     */
//    public void walletLog(DefaultSingleObserver<HttpResult<List<ScoreIncomeBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<ScoreIncomeBean>>> observable = retrofitService.walletLog(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getChildren(DefaultSingleObserver<HttpResult<List<ScoreIncomeBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<ScoreIncomeBean>>> observable = retrofitService.getChildren(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 关注
//     *
//     * @param observer
//     */
//    public void postAttention(DefaultSingleObserver<HttpResult<Object>> observer, Map<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.postAttention(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 取消关注
//     *
//     * @param observer
//     */
//    public void deleteAttention(DefaultSingleObserver<HttpResult<Object>> observer, Map<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.deleteAttention(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 取消关注
//     *
//     * @param observer
//     */
//    public void deleteRecommend(DefaultSingleObserver<HttpResult> observer, Map<String, String> map) {
//        Single<HttpResult> observable = retrofitService.deleteRecommend(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 预览订单
//     */
//    public void getOrderPreInfo(DefaultSingleObserver<HttpResult<OrderPreviewDto>> observer, String mall_type, HashMap<String, String> map) {
//        Single<HttpResult<OrderPreviewDto>> observable = retrofitService.getOrderPreInfo(getToken(), mall_type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getCoupons(DefaultSingleObserver<HttpResult<List<NewPeopleBeam>>> observer, HashMap<String, String> map) {
//        Single<HttpResult<List<NewPeopleBeam>>> observable = retrofitService.getCoupons(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getGuess(DefaultSingleObserver<HttpResult<List<GuessEntity>>> observer) {
//        Single<HttpResult<List<GuessEntity>>> observable = retrofitService.getGuess(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 下单
//     */
//    public void checkOutOrder(DefaultSingleObserver<HttpResult<List<CheckOutOrderResult>>> observer, String mall_type, HashMap<String, String> map) {
//        Single<HttpResult<List<CheckOutOrderResult>>> observable = retrofitService.checkOutOrder(getToken(), mall_type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    public void getTypes(DefaultSingleObserver<HttpResult<List<String>>> observer) {
//        Single<HttpResult<List<String>>> observable = retrofitService.getTypes()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getConturyProduct(DefaultSingleObserver<HttpResult<List<NewListItemDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<NewListItemDto>>> observable = retrofitService.getConturyProduct(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//
//    public void getConturyProducts(DefaultSingleObserver<HttpResult<List<AllCityDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<AllCityDto>>> observable = retrofitService.getConturyProducts(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getTasks(DefaultSingleObserver<HttpResult<RenWuBean>> observer) {
//        Single<HttpResult<RenWuBean>> observable = retrofitService.getTasks(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void getBankCardList(DefaultSingleObserver<HttpResult<List<BankCardDto>>> observer, int page) {
//        Single<HttpResult<List<BankCardDto>>> observable = retrofitService.getBankCardList(getToken(), page)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void addBankCard(DefaultSingleObserver<HttpResult<Object>> observer, Map<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.addBankCard(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void putFeedback(DefaultSingleObserver<HttpResult<Object>> observer, Map<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.putFeedback(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getBankCardDefault(DefaultSingleObserver<HttpResult<BankCardDto>> observer) {
//        Single<HttpResult<BankCardDto>> observable = retrofitService.getBankCardDefault(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void UpdateUserInfo(DefaultSingleObserver<HttpResult<Object>> observer, Map<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.UpdateUserInfo(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void Updateexchange(DefaultSingleObserver<HttpResult<Object>> observer, Map<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.Updateexchange(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void deleteBankCard(DefaultSingleObserver<HttpResult<Object>> observer, String card) {
//        Single<HttpResult<Object>> observable = retrofitService.deleteBankCard(getToken(), card)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 我买到的
//     *
//     * @param observer
//     * @param map
//     */
//    public void getAllUserOrders(DefaultSingleObserver<HttpResult<List<MyOrderDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<MyOrderDto>>> observable = retrofitService.getAllUserOrders(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 我买到的
//     *
//     * @param observer
//     * @param map
//     */
//    private static String lang = "";
//    public void getAllUserOrders(DefaultSingleObserver<HttpResult<List<RefundAfterSalesDto>>> observer, String mall_type, Map<String, String> map) {
//        Single<HttpResult<List<RefundAfterSalesDto>>> observable = retrofitService.getAllUserOrders(getToken(), /*lang,*/ mall_type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getPromoteOrders(DefaultSingleObserver<HttpResult<List<MyOrderDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<MyOrderDto>>> observable = retrofitService.getPromoteOrders(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getShopOrders(DefaultSingleObserver<HttpResult<List<MyOrderDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<MyOrderDto>>> observable = retrofitService.getShopOrders(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getSellerOrders(DefaultSingleObserver<HttpResult<List<MyOrderDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<MyOrderDto>>> observable = retrofitService.getSellerOrders(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getSellerProducts(DefaultSingleObserver<HttpResult<List<PublishInfo>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<PublishInfo>>> observable = retrofitService.getSellerProducts(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getUserChildren(DefaultSingleObserver<HttpResult<List<InviteFriendBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<InviteFriendBean>>> observable = retrofitService.getUserChildren(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getAllUserRefundList(DefaultSingleObserver<HttpResult<List<MyOrderDto>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<MyOrderDto>>> observable = retrofitService.getAllUserRefundList(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//    /**
//     * 售后列表
//     *
//     * @param observer
//     * @param map
//     */
//    public void getAllUserRefundList(DefaultSingleObserver<HttpResult<List<AfterSalesDto>>> observer, String mall_type, Map<String, String> map) {
//        Single<HttpResult<List<AfterSalesDto>>> observable = retrofitService.getAllUserRefundList(getToken(), lang, mall_type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//    public void getAllUserRefundList2(DefaultSingleObserver<HttpResult<List<MyOrderDto>>> observer, String mall_type, Map<String, String> map) {
//        Single<HttpResult<List<MyOrderDto>>> observable = retrofitService.getAllUserRefundList2(getToken(), lang, mall_type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//    public void getAllUserRefundDetail(DefaultSingleObserver<HttpResult<MyOrderDto>> observer, String id, Map<String, String> map) {
//        Single<HttpResult<MyOrderDto>> observable = retrofitService.getAllUserRefundDetail(getToken(), id, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getOrdercancel(DefaultSingleObserver<HttpResult<Object>> observer, String id) {
//        Single<HttpResult<Object>> observable = retrofitService.getOrdercancel(getToken(), id)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    //充值接口
//    public void getCreate(DefaultSingleObserver<HttpResult<String>> observer, Map<String, String> map) {
//        Single<HttpResult<String>> observable = retrofitService.getCreate(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    //取消订单
//    public void cancelOrder(DefaultSingleObserver<HttpResult<Object>> observer, String orderId) {
//        Single<HttpResult<Object>> observable = retrofitService.cancelOrder(getToken(), orderId)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    //催发货
//    public void hurryOrder(DefaultSingleObserver<HttpResult<Object>> observer, String orderId) {
//        Single<HttpResult<Object>> observable = retrofitService.hurryOrder(getToken(), orderId)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    //退款原因
//    public void refundReasons(DefaultSingleObserver<HttpResult<List<String>>> observer) {
//        Single<HttpResult<List<String>>> observable = retrofitService.refundReasons(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    //退款
//    public void refundOrder(DefaultSingleObserver<Object> observer, String orderId, Map<String, Object> map, String type) {
//        Single<Object> observable = retrofitService.refundOrder(getToken(), orderId, map, type)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    //退货
//    public void refundSales(DefaultSingleObserver<Object> observer, Map<String, Object> map, String type) {
//        Single<Object> observable = retrofitService.afterSales(getToken(), type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    //评价列表
//    public void commentList(DefaultSingleObserver<HttpResult<MyOrderDto>> observer, String orderId, Map<String, String> map) {
//        Single<HttpResult<MyOrderDto>> observable = retrofitService.commentList(getToken(), orderId, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    //去评价
//    public void toComment(DefaultSingleObserver<Object> observer, Map<String, Object> map) {
//        Single<Object> observable = retrofitService.toComment(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    //评价完成，推荐列表
//    public void getProductsRandom(DefaultSingleObserver<HttpResult<List<ProductBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<ProductBean>>> observable = retrofitService.getProductsRandom(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 实时查询物流信息
//     */
//    public void getLogisticsList(DefaultSingleObserver<List<MyOrderLogisticsDto>> observer, String number, String code) {
//        Single<List<MyOrderLogisticsDto>> observable = retrofitService.getLogisticsList(getToken(), number, code)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 获取运输商
//     */
//    public void getCarriery(DefaultSingleObserver<HttpResult<List<CarrieryDto>>> observer, String code) {
//        Single<HttpResult<List<CarrieryDto>>> observable = retrofitService.getCarriery(getToken(), code)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    //确定收货
//    public void confirmOrder(DefaultSingleObserver<HttpResult<Object>> observer, String orderId) {
//        Single<HttpResult<Object>> observable = retrofitService.confirmOrder(getToken(), orderId)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void expressList(DefaultSingleObserver<HttpResult<List<ExpressList>>> observer) {
//        Single<HttpResult<List<ExpressList>>> observable = retrofitService.expressList()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void toShip(DefaultSingleObserver<Object> observer, String id, Map<String, Object> map) {
//        Single<Object> observable = retrofitService.toShip(getToken(), id, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**\
//     * 金康道夫
//     * @param observer
//     * @param mall_type
//     * @param id
//     * @param map
//     */
//    public void toShip(DefaultSingleObserver<Object> observer, String mall_type, String id, Map<String, Object> map) {
//        Single<Object> observable = retrofitService.toShip(getToken(), mall_type, id, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getVipData(DefaultSingleObserver<HttpResult<String>> observer) {
//        Single<HttpResult<String>> observable = retrofitService.getVipData(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getUserCoupons(DefaultSingleObserver<HttpResult<List<CouponDto>>> observer, Map<String, Object> map) {
//        Single<HttpResult<List<CouponDto>>> observable = retrofitService.getUserCoupons(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getPreviewCoupons(DefaultSingleObserver<HttpResult<List<CouponDto>>> observer, String mallType, Map map) {
//        Single<HttpResult<List<CouponDto>>> observable = retrofitService.getPreviewCoupons(getToken(), mallType, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void clearFootPrint(DefaultSingleObserver<Object> observer, Map<String, Object> map) {
//        Single<Object> observable = retrofitService.clearFootPrint(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void withdraw(DefaultSingleObserver<Object> observer, Map<String, Object> map) {
//        Single<Object> observable = retrofitService.withdraw(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void editProducts(DefaultSingleObserver<Object> observer, String id, Map<String, Object> map) {
//        Single<Object> observable = retrofitService.editProducts(getToken(), id, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void editShipment(DefaultSingleObserver<Object> observer, Map<String, Object> map) {
//        Single<Object> observable = retrofitService.editShipment(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    public void getOrderDetail(DefaultSingleObserver<HttpResult<MyOrderDto>> observer, String id, String type, String include) {
//        Single<HttpResult<MyOrderDto>> observable = retrofitService.getOrderDetail(getToken(), id, type, include, "track")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getShopOrderDetail(DefaultSingleObserver<HttpResult<MyOrderDto>> observer, String id, String include, String strack) {
//        Single<HttpResult<MyOrderDto>> observable = retrofitService.getShopOrderDetail(getToken(), id, include, strack)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 添加收藏
//     */
//    public void addProductFavorites(DefaultSingleObserver<HttpResult<Object>> observer, Map<String, Object> map) {
//        Single<HttpResult<Object>> observable = retrofitService.addProductFavorites(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 取消收藏
//     */
//    public void cancleProductFavorites(DefaultSingleObserver<HttpResult<Object>> observer, Map<String, Object> map) {
//        Single<HttpResult<Object>> observable = retrofitService.cancleProductFavorites(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * wx
//     */
//    public void submitWxOrder(DefaultSingleObserver<HttpResult<WEIXINREQ>> observer, Map<String, String> map) {
//        Single<HttpResult<WEIXINREQ>> observable = retrofitService.submitWxOrder(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void submitWxRecharge(DefaultSingleObserver<HttpResult<WEIXINREQ>> observer, Map<String, String> map) {
//        Single<HttpResult<WEIXINREQ>> observable = retrofitService.submitWxRecharge(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * zfb
//     */
//    public void submitZfbOrder(DefaultSingleObserver<HttpResult<String>> observer, Map<String, String> map) {
//        Single<HttpResult<String>> observable = retrofitService.submitZfbOrder(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void submitZfbRecharge(DefaultSingleObserver<HttpResult<String>> observer, Map<String, String> map) {
//        Single<HttpResult<String>> observable = retrofitService.submitZfbRecharge(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * zfb
//     */
//    public void submitWalletOrder(DefaultSingleObserver<HttpResult<Object>> observer, Map<String, String> map) {
//        Single<HttpResult<Object>> observable = retrofitService.submitWalletOrder(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 关注店铺
//     * @param observer
//     * @param map
//     */
//    public void getFollowingShops(DefaultSingleObserver<HttpResult<List<AttentionCommunityBean>>> observer, Map<String, String> map) {
//        Single<HttpResult<List<AttentionCommunityBean>>> observable = retrofitService.getFollowingShops(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 申请主播
//     */
//    public void upSellers(DefaultSingleObserver<HttpResult<Object>> observer, StoreInfo map) {
////        Log.e("TAG","======HTTP=======upSellers==============" + JSON.toJSONString(map));
//        Single<HttpResult<Object>> observable = retrofitService.upSellers(getToken(), map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void serviceMenu(DefaultSingleObserver<HttpResult<List<ServiceMenuBean>>> observer) {
//        Single<HttpResult<List<ServiceMenuBean>>> observable = retrofitService.serviceMenu()
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getAlOrdersRefundCount(DefaultSingleObserver<HttpResult<String>> observer) {
//        Single<HttpResult<String>> observable = retrofitService.getAlOrdersRefundCount(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getAllUserOrdersCount(DefaultSingleObserver<HttpResult<CountOrderBean>> observer) {
//        Single<HttpResult<CountOrderBean>> observable = retrofitService.getAllUserOrdersCount(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void userCountStatistics(DefaultSingleObserver<HttpResult<CountStatisticsBean>> observer) {
//        Single<HttpResult<CountStatisticsBean>> observable = retrofitService.userCountStatistics(getToken())
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 首页最下面列表
//     */
//    public void findHomeGoodLists(DefaultSingleObserver<HttpResult<List<NewListItemDto>>> observer, String mall_type, Map<String, String> map) {
//        Single<HttpResult<List<NewListItemDto>>> observable = retrofitService.findHomeGoodLists(mall_type, map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void getBrandInfo(DefaultSingleObserver<HttpResult<ShopInfoDto>> observer, String user_id, String include) {
//        Single<HttpResult<ShopInfoDto>> observable = retrofitService.getBrandInfo(getToken(), user_id, include)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    public void findStoreCategory(DefaultSingleObserver<HttpResult<List<StoreCategoryDto>>> observer) {
//        Single<HttpResult<List<StoreCategoryDto>>> observable = retrofitService.findStoreCategory("children.children")
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 广告(公用)
//     */
//    public void getBannerList(DefaultSingleObserver<HttpResult<BannerInfoDto>> observer, Map<String, String> map) {
//        Single<HttpResult<BannerInfoDto>> observable = retrofitService.getBannerProductId(map)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 热门搜索
//     */
//    public void getHotSearch(DefaultSingleObserver<HttpResult<HotSearchInfo>> observer, String include) {
//        Single<HttpResult<HotSearchInfo>> observable = retrofitService.getHotSearch(include)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//
//    /**
//     * 商品搜索结果
//     */
//    public void getSearchResultProductList(DefaultSingleObserver<HttpResult<List<ProductDto>>> observer, String mall_type, String title) {
//        Single<HttpResult<List<ProductDto>>> observable = retrofitService.getSearchResultProductList("default", title)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
//
//    /**
//     * 取消 售后单 
//     *
//     * @param observer
//     * @param orderId
//     */
//    public void cancelRefund(DefaultSingleObserver<HttpResult<Object>> observer, String mall_type, String orderId) {
//        Single<HttpResult<Object>> observable = retrofitService.cancelRefund(getToken(), lang, mall_type, orderId)
//                .map(new HttpResultMapper.HttpResultOtheData<>(null));
//        subscribe(observable, observer);
//    }
}
